﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/BrainTechLLC.ThreadSafeObjects" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/BrainTechLLC.ThreadSafeObjects" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:complexType name="ThreadSafeListValuesOflong">
    <xs:annotation>
      <xs:appinfo>
        <GenericType Name="ThreadSafeListValuesOf{0}{#}" Namespace="http://schemas.datacontract.org/2004/07/BrainTechLLC.ThreadSafeObjects" xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
          <GenericParameter Name="long" Namespace="http://www.w3.org/2001/XMLSchema" />
        </GenericType>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Lockable">
        <xs:sequence>
          <xs:element minOccurs="0" name="_count" type="xs:int" />
          <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="_list" nillable="true" type="q1:ArrayOflong" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ThreadSafeListValuesOflong" nillable="true" type="tns:ThreadSafeListValuesOflong" />
  <xs:complexType name="Lockable">
    <xs:sequence />
  </xs:complexType>
  <xs:element name="Lockable" nillable="true" type="tns:Lockable" />
  <xs:complexType name="ThreadSafeLookupOfstringIdentifierAndValuePrLNllYS">
    <xs:annotation>
      <xs:appinfo>
        <GenericType Name="ThreadSafeLookupOf{0}{1}{#}" Namespace="http://schemas.datacontract.org/2004/07/BrainTechLLC.ThreadSafeObjects" xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
          <GenericParameter Name="string" Namespace="http://www.w3.org/2001/XMLSchema" />
          <GenericParameter Name="IdentifierAndValue" Namespace="http://schemas.datacontract.org/2004/07/BrainTechLLC" />
        </GenericType>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Lockable">
        <xs:sequence>
          <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Lookup" nillable="true" type="q2:ArrayOfKeyValueOfstringIdentifierAndValuePrLNllYS" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ThreadSafeLookupOfstringIdentifierAndValuePrLNllYS" nillable="true" type="tns:ThreadSafeLookupOfstringIdentifierAndValuePrLNllYS" />
  <xs:complexType name="ThreadSafeLookupNonRefOflonglong">
    <xs:annotation>
      <xs:appinfo>
        <GenericType Name="ThreadSafeLookupNonRefOf{0}{1}{#}" Namespace="http://schemas.datacontract.org/2004/07/BrainTechLLC.ThreadSafeObjects" xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
          <GenericParameter Name="long" Namespace="http://www.w3.org/2001/XMLSchema" />
          <GenericParameter Name="long" Namespace="http://www.w3.org/2001/XMLSchema" />
        </GenericType>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Lockable">
        <xs:sequence>
          <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Lookup" nillable="true" type="q3:ArrayOfKeyValueOflonglong" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ThreadSafeLookupNonRefOflonglong" nillable="true" type="tns:ThreadSafeLookupNonRefOflonglong" />
  <xs:complexType name="ThreadSafeLookupOfstringCommandToPerformPrLNllYS">
    <xs:annotation>
      <xs:appinfo>
        <GenericType Name="ThreadSafeLookupOf{0}{1}{#}" Namespace="http://schemas.datacontract.org/2004/07/BrainTechLLC.ThreadSafeObjects" xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
          <GenericParameter Name="string" Namespace="http://www.w3.org/2001/XMLSchema" />
          <GenericParameter Name="CommandToPerform" Namespace="http://schemas.datacontract.org/2004/07/BrainTechLLC" />
        </GenericType>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Lockable">
        <xs:sequence>
          <xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Lookup" nillable="true" type="q4:ArrayOfKeyValueOfstringCommandToPerformPrLNllYS" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ThreadSafeLookupOfstringCommandToPerformPrLNllYS" nillable="true" type="tns:ThreadSafeLookupOfstringCommandToPerformPrLNllYS" />
</xs:schema>